#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <sys/types.h>

int g_val = 0;  // 全局变量

int main() {
    pid_t id = fork();  // 创建子进程
    
    if (id < 0) {
        perror("fork");  // 错误处理
        return 0;
    }
    else if (id == 0) {
        // 子进程
        printf("child[%d]: %d : %p\n", getpid(), g_val, &g_val);
    }
    else {
        // 父进程
        printf("parent[%d]: %d : %p\n", getpid(), g_val, &g_val);
    }
    
    sleep(1);  // 暂停1秒，防止终端混乱
    return 0;
}
